package com.example.ymm.modules1.entity.my.ms;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.example.ymm.modules1.service.dto.ms.MsOrderDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.List;

/**
 * 模具费
 */

@Data
public class MsMouldMain implements Serializable {

    @TableId
    private String mouldMainId;

    String mouldName;//物料型号



    String materialNo;//'物料编号'


    //    @TableField(exist = false)
    String orderNo;//采购单号/外协加工单号 /单号

//    @TableField(exist = false)
//    BigDecimal orderPrice;//采购单金额
    String supplierId;//ms供应商id

//    @TableField(exist = false)
    String supplierName;//ms供应商名字

//    Integer businessType;//业务类型 1采购 2外协

    String costTypeId;//费用类型:字典id

    String costTypeName;//费用类型:字典名称

    BigDecimal price;//金额

    String startDate;//开始日期

    String endDate;//结束日期

    Integer returnConditionType;//退款条件类别:  1一次性(数量) 2累计(数量) 3不退 4一次性(金额) 5累计(金额)

    Integer isHand;//是否手动: 是1否0 为手动输入费用名称 而不是用选择采购单

    String userId;//经办人

    String userName;

    /**
     * 人员类型 1.采购员 2.研发制样员
     */
//    Integer userType;

    /**
     * 查询是否符合条件
     * @param mouldMain
     * @param is_send
     * 0不符合 1 符合采购单 2符合外协加工单
     * @return
     */
    Integer isReturn;//是否符合退款 0不符合 1 符合采购单 2符合外协加工单

    Integer isClose;//是否关闭0否 1是

    Integer totalNum;//累计下单量  =退款条件数量-msTotalNum
//
//    Integer maxNum;//最大下单量

    BigDecimal returnConditionNum;//退款条件数量

    @TableField(exist = false)
    BigDecimal msTotalNum;//汇总 ms 系统里面的已下单量或金额;汇总条件 供应商+物料名称+型号

    @TableField(exist = false)

    String sysNote;//备注信息 如ms未录入物料信息

    String createUserId;//创建人

    String createUserName;

    String specification;//物料规格

    String model;//物料型号

    String materialName;//物料名称

    Integer isRef;//物料信息是否可关联到ms：0否  1是

    String detail;//退费明细(手动)

    String remark;

//    @TableField(exist = false)
//    List<MsMouldItem> items;//物料

    //List<MsOrderDto> items;
    @TableField(exist = false)
    List<MsMouldItem> items;//物料

    @TableField(exist = false)
    String materialNos;

    @TableField(exist = false)
    String orderNos;


    @ApiModelProperty(value = "是否删除：0->未删；1->已删")
    @TableLogic
    private Integer isDelete;

    @TableField(fill= FieldFill.INSERT)
    private Timestamp createTime;

    @TableField(fill=FieldFill.INSERT_UPDATE)
    private Timestamp updateTime;



}
